from core.basic.skill import 技能
from core.basic.character import Character
from core.basic.skill import 主动技能, 被动技能


class 技能0(被动技能):
    名称 = '基础精通'
    所在等级 = 1
    等级上限 = 200
    基础等级 = 110
    关联技能 = ['龙人剑术', '基本攻击']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(0.463 + 0.089 * self.等级, 5)


class 技能1(主动技能):
    名称 = '基本攻击'
    所在等级 = 1
    等级上限 = 1
    基础等级 = 1
    # 3击 242.9176+259.9278+310.9584
    data0 = [(i) for i in [0, 813.8037]]
    hit0 = 1
    CD = 1
    TP成长 = 0.10
    TP上限 = 5


class 技能2(主动技能):
    名称 = "龙人剑术"
    所在等级 = 15
    等级上限 = 1
    学习间隔 = 2
    等级精通 = 1
    CD = 3
    MP = [35, 35]
    无色消耗 = 0
    data0 = [0, 1898]
    hit0 = 1
    TP成长 = 0.1
    TP上限 = 5


class 技能3(主动技能):
    名称 = "火焰吐息"
    所在等级 = 15
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 5
    MP = [30, 252]
    无色消耗 = 0
    data0 = [0, 1403, 1543, 1687, 1829, 1971, 2112, 2256, 2399, 2540, 2682, 2824, 2969, 3110, 3252, 3395, 3537, 3679, 3820, 3964, 4108, 4248, 4390, 4534, 4674, 4817, 4961, 5102, 5244, 5386, 5528, 5672, 5812, 5956, 6099, 6239, 6382, 6526, 6666, 6809, 6953, 7095, 7236, 7379, 7520, 7664, 7805, 7948, 8091, 8232, 8376, 8518, 8659, 8800, 8945, 9087, 9229, 9370, 9513, 9658, 9798, 9940, 10083, 10225, 10368, 10510, 10651, 10796, 10937, 11079, 11222]
    hit0 = 3
    TP成长 = 0.1
    TP上限 = 7


class 技能4(主动技能):
    名称 = "龙翼突袭"
    所在等级 = 20
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 5
    MP = [30, 252]
    无色消耗 = 0
    data0 = [0, 462, 509, 557, 603, 651, 697, 744, 792, 838, 885, 932, 979, 1025, 1073, 1120, 1166, 1213, 1260, 1307, 1354, 1401, 1447, 1495, 1542, 1589, 1636, 1682, 1730, 1777, 1823, 1871, 1917, 1964, 2011, 2058, 2106, 2152, 2199, 2246, 2293, 2340, 2387, 2434, 2480, 2528, 2575, 2621, 2668, 2715, 2763, 2809, 2856, 2903, 2950, 2997, 3044, 3091, 3137, 3185, 3231, 3278, 3326, 3372, 3419, 3466, 3513, 3561, 3607, 3654, 3701]
    hit0 = 1
    data1 = [0, 4162, 4585, 5007, 5430, 5850, 6274, 6697, 7120, 7540, 7963, 8386, 8810, 9232, 9653, 10076, 10498, 10919, 11343, 11766, 12188, 12610, 13032, 13456, 13878, 14300, 14720, 15145, 15567, 15990, 16413, 16835, 17256, 17678, 18101, 18524, 18946, 19368, 19791, 20213, 20637, 21059, 21481, 21903, 22324, 22746, 23172, 23594, 24014, 24436, 24859, 25284, 25706, 26126, 26549, 26971, 27395, 27819, 28239, 28661, 29083, 29505, 29929, 30352, 30772, 31196, 31617, 32041, 32464, 32886, 33307]
    hit1 = 1
    TP成长 = 0.1
    TP上限 = 7


class 技能5(主动技能):
    名称 = "龙语召唤：阿斯特拉"
    所在等级 = 20
    等级上限 = 30
    学习间隔 = 3
    等级精通 = 20
    CD = 5
    MP = [126, 975]
    无色消耗 = 0
    data0 = [0, 4724, 5479, 6232, 6983, 7739, 8490, 9246, 9997, 10752, 11504, 12260, 13010, 13764, 14519, 15270, 16024, 16778, 17532, 18284, 19039, 19791, 20545, 21298, 22049, 22805, 23559, 24313, 25063, 25819, 26574]
    hit0 = 1
    TP成长 = 0.1
    TP上限 = 7

    关联技能 = ['所有']

    def 独立攻击力倍率进图(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        elif self.等级 <= 20:
            return round(1.05 + 0.005 * self.等级, 5)
        else:
            return round(0.75 + 0.02 * self.等级, 5)


class 技能6(主动技能):
    名称 = "爆破龙角"
    所在等级 = 25
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 8
    MP = [35, 300]
    无色消耗 = 0
    data0 = [0, 2724, 2999, 3276, 3553, 3828, 4104, 4378, 4657, 4933, 5209, 5486, 5764, 6038, 6315, 6592, 6867, 7146, 7422, 7696, 7973, 8248, 8525, 8803, 9078, 9355, 9632, 9907, 10182, 10462, 10736, 11012, 11290, 11565, 11843, 12118, 12394, 12671, 12945, 13225, 13501, 13774, 14052, 14327, 14604, 14882, 15158, 15434, 15711, 15985, 16262, 16540, 16815, 17091, 17369, 17644, 17921, 18197, 18474, 18750, 19025, 19302, 19578, 19856, 20131, 20407, 20684, 20960, 21237, 21513, 21787]
    hit0 = 1
    data1 = [0, 6355, 6997, 7644, 8288, 8935, 9578, 10223, 10868, 11513, 12158, 12803, 13447, 14092, 14737, 15382, 16026, 16672, 17315, 17960, 18606, 19249, 19895, 20539, 21185, 21827, 22473, 23117, 23763, 24408, 25053, 25697, 26342, 26986, 27631, 28276, 28922, 29566, 30211, 30855, 31500, 32145, 32791, 33434, 34080, 34724, 35370, 36013, 36659, 37303, 37948, 38594, 39236, 39881, 40528, 41171, 41817, 42460, 43107, 43750, 44397, 45042, 45685, 46331, 46976, 47621, 48265, 48911, 49555, 50200, 50846]
    hit1 = 1
    TP成长 = 0.1
    TP上限 = 7


class 技能7(主动技能):
    名称 = "龙拳"
    所在等级 = 30
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 8
    MP = [180, 1512]
    无色消耗 = 0
    data0 = [0, 3200, 3525, 3848, 4174, 4497, 4824, 5147, 5473, 5797, 6121, 6449, 6772, 7096, 7420, 7748, 8071, 8395, 8719, 9045, 9370, 9694, 10019, 10344, 10668, 10993, 11318, 11643, 11967, 12291, 12617, 12942, 13266, 13591, 13915, 14241, 14565, 14890, 15214, 15538, 15864, 16189, 16513, 16837, 17162, 17488, 17812, 18136, 18461, 18787, 19112, 19435, 19762, 20085, 20411, 20734, 21061, 21384, 21709, 22031, 22360, 22683, 23008, 23332, 23657, 23982, 24307, 24631, 24956, 25281, 25606]
    hit0 = 1
    data1 = [0, 4801, 5288, 5775, 6263, 6748, 7234, 7721, 8210, 8697, 9183, 9673, 10159, 10645, 11133, 11621, 12106, 12592, 13080, 13569, 14054, 14541, 15029, 15516, 16004, 16489, 16977, 17464, 17951, 18437, 18926, 19413, 19900, 20386, 20875, 21361, 21847, 22335, 22822, 23309, 23796, 24284, 24770, 25258, 25745, 26232, 26720, 27205, 27692, 28179, 28667, 29153, 29642, 30129, 30616, 31102, 31591, 32076, 32562, 33049, 33539, 34025, 34511, 34997, 35485, 35972, 36458, 36946, 37432, 37919, 38406]
    hit1 = 1
    data2 = [0, 882, 972, 1060, 1150, 1240, 1329, 1418, 1507, 1599, 1686, 1775, 1866, 1955, 2044, 2136, 2225, 2312, 2403, 2491, 2581, 2669, 2762, 2850, 2939, 3029, 3118, 3208, 3298, 3387, 3475, 3565, 3655, 3744, 3836, 3925, 4012, 4103, 4192, 4282, 4370, 4461, 4551, 4639, 4730, 4819, 4908, 4998, 5088, 5178, 5265, 5356, 5444, 5533, 5624, 5714, 5804, 5892, 5982, 6070, 6162, 6250, 6340, 6430, 6519, 6608, 6699, 6788, 6878, 6967, 7057]
    hit2 = 0
    data3 = [0, 7938, 8743, 9549, 10354, 11159, 11966, 12771, 13575, 14381, 15187, 15992, 16798, 17602, 18407, 19213, 20017, 20825, 21631, 22434, 23240, 24045, 24851, 25657, 26462, 27267, 28072, 28877, 29683, 30489, 31294, 32100, 32905, 33709, 34515, 35323, 36127, 36932, 37735, 38542, 39348, 40156, 40960, 41764, 42569, 43374, 44181, 44985, 45790, 46597, 47402, 48207, 49011, 49818, 50625, 51429, 52234, 53039, 53844, 54650, 55458, 56261, 57066, 57872, 58678, 59483, 60289, 61093, 61899, 62705, 63509]
    hit3 = 0
    TP成长 = 0.1
    TP上限 = 7

    形态 = ['地面', '空中']

    def 形态变更(self, 形态, char):
        if 形态 == '' and len(self.形态) > 0:
            形态 = self.形态[0]
        if 形态 == "地面":
            self.hit0 = 1
            self.hit1 = 1
            self.hit2 = 0
            self.hit3 = 0
        if 形态 == "空中":
            self.hit0 = 0
            self.hit1 = 0
            self.hit2 = 1
            self.hit3 = 1


class 技能8(主动技能):
    名称 = "龙之撕咬"
    所在等级 = 30
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 10
    MP = [50, 420]
    无色消耗 = 0
    data0 = [0, 1495, 1647, 1800, 1950, 2104, 2254, 2406, 2559, 2712, 2862, 3013, 3165, 3317, 3469, 3622, 3772, 3924, 4076, 4228, 4382, 4534, 4683, 4836, 4990, 5139, 5292, 5443, 5595, 5747, 5900, 6050, 6202, 6354, 6506, 6658, 6812, 6960, 7113, 7265, 7417, 7569, 7721, 7872, 8025, 8176, 8328, 8480, 8632, 8783, 8936, 9088, 9239, 9390, 9543, 9694, 9847, 9999, 10149, 10301, 10454, 10606, 10758, 10909, 11062, 11213, 11365, 11516, 11669, 11822, 11973]
    hit0 = 6
    TP成长 = 0.1
    TP上限 = 7


class 技能9(主动技能):
    名称 = "龙翼穿刺"
    所在等级 = 35
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 12
    MP = [200, 1820]
    无色消耗 = 1
    data0 = [0, 192, 210, 229, 250, 269, 287, 306, 327, 348, 364, 386, 405, 425, 445, 463, 482, 502, 522, 540, 560, 581, 599, 617, 637, 658, 677, 695, 716, 735, 754, 772, 793, 813, 831, 854, 871, 891, 909, 931, 948, 968, 989, 1008, 1026, 1045, 1066, 1085, 1103, 1123, 1144, 1162, 1183, 1200, 1221, 1239, 1261, 1280, 1299, 1319, 1338, 1359, 1377, 1397, 1416, 1436, 1455, 1474, 1494, 1514, 1532]
    hit0 = 2
    data1 = [0, 11721, 12910, 14100, 15290, 16479, 17668, 18857, 20048, 21235, 22425, 23613, 24803, 25993, 27181, 28372, 29560, 30748, 31938, 33126, 34318, 35507, 36696, 37884, 39073, 40262, 41452, 42642, 43830, 45021, 46208, 47397, 48588, 49776, 50966, 52155, 53345, 54533, 55722, 56912, 58101, 59290, 60479, 61670, 62857, 64046, 65236, 66425, 67615, 68804, 69992, 71182, 72370, 73560, 74748, 75940, 77129, 78316, 79506, 80695, 81884, 83074, 84262, 85452, 86642, 87830, 89019, 90210, 91398, 92587, 93775]
    hit1 = 1
    data2 = [0, 12840, 14133, 15440, 16746, 18048, 19344, 20648, 21956, 23259, 24553, 25859, 27164, 28473, 29776, 31070, 32375, 33682, 34988, 36279, 37584, 38893, 40198, 41491, 42796, 44102, 45407, 46703, 48006, 49313, 50617, 51912, 53217, 54522, 55828, 57134, 58429, 59734, 61040, 62346, 63637, 64944, 66250, 67556, 68849, 70152, 71462, 72764, 74059, 75364, 76671, 77976, 79280, 80574, 81881, 83187, 84494, 85786, 87091, 88396, 89704, 91002, 92303, 93609, 94911, 96214, 97516, 98819, 100123, 101425, 102728]
    hit2 = 0
    TP成长 = 0.1
    TP上限 = 5

    形态 = ['常规', '撕咬']

    def 形态变更(self, 形态, char):
        if 形态 == '' and len(self.形态) > 0:
            形态 = self.形态[0]
        if 形态 == "常规":
            self.hit0 = 2
            self.hit1 = 1
            self.hit2 = 0
        if 形态 == "撕咬":
            self.hit0 = 0
            self.hit1 = 0
            self.hit2 = 1


class 技能10(主动技能):
    名称 = "飞龙斩"
    所在等级 = 35
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 15
    MP = [105, 882]
    无色消耗 = 1
    data0 = [0, 7168, 7896, 8621, 9346, 10078, 10805, 11533, 12258, 12983, 13719, 14444, 15172, 15899, 16622, 17356, 18081, 18806, 19536, 20261, 20993, 21718, 22443, 23173, 23900, 24630, 25355, 26082, 26810, 27537, 28264, 28992, 29719, 30446, 31174, 31899, 32626, 33356, 34086, 34811, 35536, 36266, 36993, 37722, 38448, 39173, 39902, 40628, 41357, 42085, 42810, 43539, 44271, 44994, 45726, 46449, 47174, 47906, 48633, 49363, 50088, 50815, 51543, 52268, 52999, 53727, 54454, 55179, 55909, 56638, 57364]
    hit0 = 1
    data1 = [0, 10529, 11596, 12665, 13734, 14801, 15869, 16941, 18007, 19073, 20142, 21211, 22281, 23348, 24417, 25485, 26551, 27620, 28688, 29757, 30825, 31893, 32961, 34031, 35098, 36167, 37235, 38301, 39370, 40438, 41508, 42577, 43645, 44713, 45781, 46849, 47918, 48985, 50053, 51123, 52189, 53258, 54325, 55395, 56463, 57532, 58599, 59665, 60735, 61803, 62871, 63941, 65008, 66075, 67146, 68213, 69283, 70351, 71417, 72486, 73554, 74623, 75691, 76759, 77828, 78897, 79964, 81034, 82101, 83169, 84237]
    hit1 = 1
    TP成长 = 0.1
    TP上限 = 5
    是否有护石 = 1

    def 装备护石(self, char):
        self.power0 = 1 + 0.5 * 1.7
        self.CDR *= 0.9


class 技能11(被动技能):
    名称 = '大胃王'
    所在等级 = 35
    等级上限 = 20
    学习间隔 = 2
    等级精通 = 10
    是否有伤害 = 0
    关联技能 = ['所有']

    def 加成倍率(self, 武器类型):
        if self.等级 <= 10:
            return round(1.0 + 0.01 * self.等级, 5)
        else:
            return round(0.9 + 0.02 * self.等级, 5)


class 技能12(主动技能):
    名称 = "龙刃无双"
    所在等级 = 40
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 20
    MP = [188, 1579]
    无色消耗 = 1
    data0 = [0, 22704, 25009, 27309, 29614, 31919, 34223, 36523, 38828, 41130, 43433, 45738, 48042, 50343, 52648, 54951, 57256, 59558, 61862, 64166, 66468, 68771, 71076, 73378, 75682, 77986, 80290, 82591, 84896, 87200, 89502, 91806, 94110, 96411, 98716, 101020, 103324, 105626, 107930, 110233, 112536, 114840, 117144, 119445, 121748, 124052, 126358, 128659, 130963, 133267, 135568, 137872, 140177, 142480, 144783, 147087, 149391, 151692, 153997, 156301, 158603, 160908, 163211, 165514, 167817, 170121, 172426, 174728, 177032, 179335, 181639]
    hit0 = 0
    data1 = [0, 23925, 26352, 28781, 31206, 33635, 36062, 38488, 40916, 43343, 45771, 48197, 50626, 53051, 55479, 57907, 60334, 62763, 65189, 67616, 70044, 72471, 74898, 77327, 79751, 82180, 84607, 87035, 89461, 91890, 94317, 96743, 99172, 101598, 104027, 106454, 108880, 111308, 113735, 116162, 118590, 121015, 123444, 125869, 128298, 130725, 133153, 135580, 138006, 140435, 142861, 145290, 147718, 150143, 152570, 154998, 157426, 159854, 162279, 164707, 167136, 169561, 171988, 174417, 176844, 179271, 181699, 184125, 186552, 188980, 191407]
    hit1 = 1
    TP成长 = 0.1
    TP上限 = 5

    是否有护石 = 1
    形态 = ['上挑', '平砍']

    def 形态变更(self, 形态, char):
        if 形态 == '' and len(self.形态) > 0:
            形态 = self.形态[0]
        if 形态 == "上挑":
            self.hit0 = 0
            self.hit1 = 1
        if 形态 == "平砍":
            self.hit0 = 1
            self.hit1 = 0

    def 装备护石(self, char):
        self.倍率 *= 1.37


class 技能13(主动技能):
    名称 = "魔龙之息"
    所在等级 = 45
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 40
    MP = [222, 2225]
    无色消耗 = 2
    data0 = [0, 3088, 3400, 3714, 4027, 4341, 4653, 4968, 5280, 5594, 5907, 6220, 6536, 6847, 7162, 7473, 7787, 8099, 8413, 8729, 9039, 9355, 9666, 9981, 10292, 10609, 10920, 11234, 11550, 11860, 12176, 12488, 12801, 13115, 13429, 13741, 14054, 14368, 14681, 14995, 15308, 15621, 15934, 16248, 16560, 16875, 17187, 17501, 17813, 18128, 18444, 18754, 19070, 19380, 19695, 20007, 20321, 20633, 20947, 21260, 21573, 21887, 22199, 22513, 22826, 23138, 23451, 23764, 24077, 24391, 24703]
    hit0 = 13
    data1 = [0, 2045, 2250, 2460, 2668, 2874, 3082, 3290, 3497, 3704, 3911, 4121, 4327, 4534, 4742, 4949, 5156, 5365, 5573, 5779, 5988, 6194, 6402, 6608, 6814, 7021, 7231, 7438, 7645, 7852, 8059, 8268, 8474, 8682, 8890, 9096, 9305, 9512, 9719, 9927, 10136, 10342, 10550, 10756, 10963, 11173, 11379, 11586, 11795, 12002, 12210, 12417, 12624, 12831, 13039, 13247, 13454, 13661, 13870, 14078, 14283, 14492, 14700, 14907, 15115, 15322, 15529, 15738, 15945, 16152, 16359]
    hit1 = 0
    TP成长 = 0.1
    TP上限 = 5

    是否有护石 = 1
    护石CD缩减 = 0
    形态 = ["脱手", "骑乘"]

    def 形态变更(self, 形态, char: Character):
        if 形态 == '' and len(self.形态) > 0:
            形态 = self.形态[0]
        if 形态 == "脱手":
            self.hit0 = 13
            self.hit1 = 0
        if 形态 == "骑乘":
            self.hit0 = 0
            self.hit1 = 23
            if '魔龙之息' in char.护石栏:
                self.hit1 = 25
                self.power1 = 1.07
                self.护石CD缩减 = 4

    def 等效CD(self, **argv):
        额外恢复 = argv.get('额外恢复', 1.0)

        return super().等效CD(**argv) - self.护石CD缩减/(self.恢复+额外恢复)

    def 装备护石(self, char):
        self.power0 *= 1.30
        self.CDR *= 0.9


class 技能14(主动技能):
    名称 = "魔龙之力"
    所在等级 = 48
    等级上限 = 50
    学习间隔 = 3
    等级精通 = 40

    无色消耗 = 0
    data0 = [0, 1134, 1315, 1495, 1677, 1858, 2038, 2220, 2400, 2581, 2763, 2943, 3124, 3305, 3485, 3666, 3846, 4028, 4210, 4390, 4571, 4752, 4932, 5114, 5295, 5475, 5656, 5837, 6017, 6200, 6381, 6561, 6742, 6923, 7103, 7284, 7466, 7646, 7827, 8007, 8188, 8370, 8551, 8732, 8913, 9093, 9274, 9454, 9636, 9817, 9997]
    hit0 = 1
    TP成长 = 0.1
    TP上限 = 5

    是否主动 = 0
    关联技能 = ['所有']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.105 + 0.015 * self.等级, 5)


class 技能15(主动技能):
    名称 = "雷光嘶吼"
    所在等级 = 50
    等级上限 = 50
    学习间隔 = 5
    等级精通 = 40
    CD = 145
    MP = [900, 7559]
    无色消耗 = 5
    data0 = [0, 3971, 4890, 5814, 6733, 7654, 8574, 9495, 10414, 11338, 12258, 13178, 14099, 15020, 15944, 16862, 17784, 18702, 19627, 20545, 21468, 22387, 23309, 24229, 25151, 26070, 26992, 27912, 28833, 29754, 30675, 31596, 32517, 33438, 34357, 35281, 36199, 37123, 38041, 38963, 39883, 40803, 41724, 42645, 43565, 44485, 45406, 46327, 47247, 48168, 49087]
    hit0 = 8
    data1 = [0, 70604, 86977, 103351, 119720, 136093, 152467, 168840, 185210, 201584, 217957, 234329, 250699, 267073, 283446, 299817, 316191, 332562, 348935, 365306, 381680, 398051, 414423, 430797, 447170, 463541, 479913, 496286, 512658, 529029, 545402, 561776, 578148, 594520, 610891, 627265, 643636, 660010, 676381, 692756, 709126, 725499, 741870, 758244, 774616, 790989, 807362, 823734, 840106, 856479, 872851]
    hit1 = 1

    def 等效百分比(self, **argv):
        if self.等级 > 8:
            return super().等效百分比(**argv)*1.1
        return super().等效百分比(**argv)


class 技能16(主动技能):
    名称 = "龙皇制裁"
    所在等级 = 60
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40
    CD = 30
    MP = [280, 784]
    无色消耗 = 1
    data0 = [0, 37367, 41160, 44950, 48741, 52531, 56321, 60115, 63905, 67696, 71486, 75279, 79069, 82859, 86652, 90440, 94234, 98024, 101815, 105607, 109395, 113189, 116978, 120770, 124561, 128351, 132143, 135933, 139725, 143516, 147307, 151099, 154887, 158680, 162469, 166262, 170054, 173842, 177635, 181426, 185217, 189008, 192799, 196589, 200382, 204171, 207964, 211754, 215544, 219337, 223127]
    hit0 = 1
    data1 = [0, 6582, 7250, 7916, 8586, 9252, 9919, 10590, 11256, 11923, 12591, 13259, 13925, 14593, 15262, 15929, 16596, 17266, 17932, 18599, 19268, 19937, 20603, 21272, 21940, 22608, 23276, 23944, 24611, 25279, 25947, 26615, 27283, 27950, 28618, 29286, 29953, 30621, 31288, 31956, 32623, 33291, 33960, 34626, 35294, 35962, 36629, 37297, 37967, 38633, 39300]
    hit1 = 0
    data2 = [0, 4021, 4431, 4837, 5246, 5653, 6062, 6469, 6878, 7289, 7694, 8103, 8512, 8917, 9327, 9735, 10142, 10550, 10959, 11365, 11774, 12185, 12591, 12999, 13408, 13817, 14222, 14631, 15041, 15446, 15855, 16263, 16672, 17081, 17488, 17897, 18304, 18713, 19119, 19529, 19937, 20344, 20752, 21160, 21568, 21976, 22387, 22794, 23201, 23610, 24017]
    hit2 = 0
    data3 = [0, 4387, 4833, 5277, 5724, 6168, 6613, 7057, 7504, 7949, 8392, 8839, 9285, 9731, 10175, 10620, 11063, 11511, 11955, 12400, 12844, 13291, 13737, 14181, 14627, 15071, 15516, 15961, 16407, 16851, 17298, 17742, 18188, 18635, 19078, 19523, 19967, 20415, 20857, 21304, 21749, 22193, 22640, 23085, 23531, 23974, 24421, 24866, 25311, 25754, 26201]
    hit3 = 0
    data4 = [0, 7810, 8606, 9398, 10190, 10983, 11774, 12568, 13361, 14152, 14946, 15738, 16531, 17325, 18115, 18908, 19702, 20493, 21285, 22079, 22873, 23662, 24457, 25250, 26042, 26835, 27626, 28421, 29214, 30005, 30798, 31591, 32383, 33176, 33967, 34760, 35555, 36345, 37138, 37931, 38724, 39514, 40308, 41102, 41896, 42688, 43480, 44273, 45066, 45856, 46650]
    hit4 = 0
    TP成长 = 0.1
    TP上限 = 5

    是否有护石 = 1

    形态 = ["非抓", "抓取"]

    def 形态变更(self, 形态, char: Character):
        if 形态 == '' and len(self.形态) > 0:
            形态 = self.形态[0]
        if 形态 == "非抓":
            self.hit0 = 1
            self.hit1 = 0
            self.hit2 = 0
            self.hit3 = 0
            self.hit4 = 0
        if 形态 == "抓取":
            self.hit0 = 0
            self.hit1 = 1
            self.hit2 = 6
            self.hit3 = 1
            self.hit4 = 1
            if '龙皇制裁' in char.护石栏:
                self.hit0 = 1
                self.hit1 = 0
                self.hit2 = 0
                self.hit3 = 0
                self.hit4 = 0

    def 装备护石(self, char):
        self.倍率 *= 1.32


class 技能17(主动技能):
    名称 = "魔龙天翔"
    所在等级 = 70
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40
    CD = 50
    MP = [756, 1587]
    无色消耗 = 2
    data0 = [0, 53186, 58580, 63975, 69369, 74768, 80164, 85559, 90957, 96351, 101746, 107145, 112539, 117935, 123330, 128725, 134120, 139516, 144913, 150308, 155703, 161100, 166494, 171890, 177285, 182680, 188077, 193472, 198869, 204263, 209658, 215056, 220450, 225847, 231242, 236639, 242034, 247430, 252827, 258222, 263617, 269015, 274410, 279805, 285201, 290599, 295995, 301390, 306785, 312181, 317577]
    hit0 = 1
    data1 = [0, 19545, 21530, 23513, 25495, 27480, 29463, 31443, 33429, 35411, 37393, 39378, 41361, 43342, 45327, 47309, 49290, 51277, 53256, 55238, 57225, 59205, 61190, 63173, 65154, 67138, 69123, 71104, 73087, 75072, 77052, 79036, 81020, 83002, 84986, 86970, 88952, 90934, 92919, 94901, 96884, 98867, 100850, 102832, 104816, 106799, 108781, 110763, 112747, 114730, 116712]
    hit1 = 0
    data2 = [0, 15203, 16744, 18287, 19829, 21373, 22914, 24455, 25999, 27542, 29085, 30625, 32168, 33711, 35252, 36796, 38336, 39879, 41422, 42965, 44506, 46048, 47592, 49135, 50677, 52218, 53763, 55304, 56847, 58388, 59931, 61474, 63016, 64559, 66100, 67642, 69184, 70728, 72271, 73813, 75353, 76897, 78438, 79982, 81524, 83067, 84608, 86152, 87694, 89236, 90779]
    hit2 = 0
    TP成长 = 0.1
    TP上限 = 5

    是否有护石 = 1
    形态 = ["脱手", "骑乘"]

    def 形态变更(self, 形态, char: Character):
        if 形态 == '' and len(self.形态) > 0:
            形态 = self.形态[0]
        if 形态 == "脱手":
            self.hit0 = 1
            self.hit1 = 0
            self.hit2 = 0
            if '魔龙天翔' in char.护石栏:
                self.power0 = 1.26
        if 形态 == "骑乘":
            self.hit0 = 0
            self.hit1 = 1
            self.hit2 = 3
            if '魔龙天翔' in char.护石栏:
                self.power1 = 1.31
                self.power2 = 1.31

    def 装备护石(self, char):
        pass


class 技能18(主动技能):
    名称 = "魔龙星落"
    所在等级 = 75
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40
    CD = 40
    MP = [580, 4500]
    无色消耗 = 3
    data0 = [0, 6635, 7310, 7983, 8655, 9330, 10002, 10676, 11350, 12022, 12696, 13369, 14042, 14716, 15390, 16061, 16735, 17410, 18081, 18755, 19429, 20102, 20775, 21448, 22121, 22794, 23468, 24141, 24814, 25487, 26160, 26836, 27508, 28182, 28855, 29531, 30203, 30875, 31549, 32221, 32895, 33569, 34240, 34914, 35589, 36263, 36934, 37608, 38280, 38955, 39628]
    hit0 = 9
    data1 = [0, 39820, 43859, 47899, 51939, 55979, 60019, 64060, 68099, 72139, 76177, 80217, 84259, 88298, 92338, 96379, 100418, 104457, 108499, 112538, 116577, 120618, 124657, 128695, 132735, 136777, 140816, 144855, 148895, 152935, 156974, 161015, 165055, 169093, 173134, 177173, 181213, 185255, 189293, 193332, 197374, 201412, 205451, 209495, 213534, 217572, 221614, 225652, 229691, 233730, 237773]
    hit1 = 1
    data2 = [0, 4152, 4572, 4995, 5414, 5835, 6256, 6678, 7099, 7521, 7942, 8362, 8784, 9206, 9626, 10048, 10469, 10889, 11310, 11732, 12155, 12574, 12995, 13416, 13838, 14259, 14681, 15102, 15522, 15944, 16365, 16787, 17207, 17629, 18049, 18472, 18891, 19315, 19735, 20155, 20576, 20998, 21419, 21841, 22262, 22683, 23104, 23524, 23946, 24369, 24789]
    hit2 = 0
    data3 = [0, 10380, 11429, 12484, 13538, 14591, 15644, 16696, 17747, 18802, 19856, 20909, 21961, 23015, 24066, 25120, 26173, 27226, 28278, 29333, 30385, 31436, 32491, 33542, 34597, 35650, 36700, 37755, 38808, 39862, 40914, 41966, 43020, 44072, 45127, 46179, 47231, 48285, 49337, 50390, 51443, 52496, 53548, 54602, 55655, 56707, 57761, 58813, 59867, 60921, 61970]
    hit3 = 0
    data4 = [0, 31138, 34294, 37456, 40614, 43772, 46931, 50091, 53249, 56408, 59566, 62726, 65884, 69042, 72202, 75361, 78519, 81679, 84837, 87997, 91156, 94314, 97473, 100632, 103790, 106949, 110107, 113268, 116426, 119584, 122743, 125902, 129060, 132220, 135379, 138539, 141697, 144855, 148014, 151173, 154331, 157491, 160649, 163809, 166967, 170125, 173284, 176442, 179602, 182762, 185920]
    hit4 = 0
    是否有护石 = 1

    形态 = ["单独", "共同"]

    def 形态变更(self, 形态, char: Character):
        if 形态 == '' and len(self.形态) > 0:
            形态 = self.形态[0]
        if 形态 == "单独":
            self.hit0 = 9
            self.hit1 = 1
            self.hit2 = 0
            self.hit3 = 0
            self.hit4 = 0

        if 形态 == "共同":
            self.hit0 = 0
            self.hit1 = 0
            self.hit2 = 15
            self.hit3 = 1
            self.hit4 = 1

    def 装备护石(self, char):
        self.倍率 *= 1.37


class 技能19(被动技能):
    名称 = '龙神血脉'
    所在等级 = 75
    等级上限 = 50
    学习间隔 = 3
    等级精通 = 40
    关联技能 = ['所有']

    关联技能 = ['所有']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.21 + 0.02 * self.等级, 5)


class 技能20(主动技能):
    名称 = "征战无双"
    所在等级 = 80
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40
    CD = 50
    MP = [800, 6000]
    无色消耗 = 5
    data0 = [0, 48094, 52972, 57853, 62732, 67613, 72491, 77371, 82251, 87130, 92010, 96887, 101768, 106645, 111525, 116404, 121285, 126163, 131046, 135924, 140803, 145680, 150561, 155440, 160320, 165197, 170078, 174956, 179836, 184715, 189597, 194476, 199353, 204232, 209112, 213990, 218871, 223750, 228628, 233508, 238386, 243269, 248146, 253026, 257904, 262785, 267663, 272543, 277421, 282301, 287178]
    hit0 = 1
    data1 = [0, 74170, 81696, 89221, 96745, 104270, 111796, 119319, 126845, 134368, 141894, 149420, 156942, 164468, 171993, 179517, 187042, 194568, 202092, 209616, 217143, 224666, 232189, 239717, 247240, 254763, 262291, 269814, 277338, 284865, 292389, 299912, 307440, 314963, 322486, 330015, 337537, 345060, 352589, 360112, 367635, 375161, 382687, 390210, 397736, 405260, 412784, 420309, 427834, 435357, 442884]
    hit1 = 1
    data2 = [0, 3710, 4083, 4460, 4836, 5214, 5589, 5964, 6341, 6716, 7095, 7470, 7847, 8223, 8597, 8975, 9351, 9728, 10104, 10480, 10857, 11232, 11608, 11986, 12361, 12737, 13114, 13489, 13865, 14244, 14618, 14994, 15372, 15746, 16125, 16499, 16875, 17253, 17628, 18004, 18380, 18757, 19134, 19509, 19886, 20264, 20638, 21014, 21390, 21767, 22142]
    hit2 = 0

    是否有护石 = 1

    形态 = ["单独", "骑乘", "延长"]

    def 形态变更(self, 形态, char: Character):
        if 形态 == '' and len(self.形态) > 0:
            形态 = self.形态[0]
        if 形态 == "单独":
            self.hit0 = 1
            self.hit1 = 1
            self.hit2 = 0
            if '征战无双' in char.护石栏:
                self.power1 = 1.16*1.23
        if 形态 == "延长":
            if '征战无双' in char.护石栏:
                self.hit0 = 0
                self.hit1 = 1
                self.power1 = 1.16*0.9
                self.hit2 = 28
            else:
                形态 = "骑乘"
        if 形态 == "骑乘":
            self.hit0 = 0
            self.hit1 = 1
            self.hit2 = 20
            if '征战无双' in char.护石栏:
                self.power1 = 1.16*1.28

    def 装备护石(self, char):
        self.power0 = 1.16
        self.power1 = 1.16*1.23
        self.power2 = 1.16
        self.CDR *= 0.9


class 技能21(主动技能):
    名称 = "龙神裁决：终末之光"
    所在等级 = 85
    等级上限 = 50
    学习间隔 = 5
    等级精通 = 40
    CD = 180
    MP = [2500, 5000]
    无色消耗 = 10
    data0 = [0, 283135, 348792, 414445, 480102, 545757, 611411, 677067, 742720, 808375, 874033, 939685, 1005342, 1070996, 1136652, 1202305, 1267961, 1333616, 1399269, 1464926, 1530579, 1596236, 1661891, 1727545, 1793201, 1858855, 1924509, 1990167, 2055819, 2121476, 2187130, 2252786, 2318440, 2384096, 2449750, 2515404, 2581060, 2646716, 2712369, 2778028, 2843679, 2909336, 2974992, 3040645, 3106301, 3171956, 3237610, 3303268, 3368921, 3434574, 3500230]
    hit0 = 1


class 技能22(主动技能):
    名称 = "龙哮雷鸣"
    所在等级 = 95
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40
    CD = 60
    MP = [960, 7200]
    无色消耗 = 7
    data0 = [0, 17274, 19027, 20782, 22534, 24285, 26038, 27791, 29544, 31296, 33048, 34800, 36554, 38307, 40059, 41811, 43563, 45316, 47070, 48822, 50575, 52327, 54078, 55833, 57585, 59338, 61090, 62841, 64595, 66347, 68101, 69854, 71607, 73359, 75111, 76864, 78616, 80368, 82121, 83874, 85627, 87379, 89132, 90885, 92639, 94390, 96142, 97895, 99647, 101399, 103154]
    hit0 = 5
    data1 = [0, 129567, 142711, 155857, 169002, 182146, 195290, 208433, 221580, 234725, 247869, 261013, 274156, 287302, 300447, 313592, 326737, 339879, 353025, 366169, 379315, 392460, 405602, 418748, 431891, 445037, 458183, 471326, 484472, 497614, 510760, 523906, 537049, 550195, 563337, 576483, 589626, 602772, 615918, 629061, 642207, 655349, 668495, 681641, 694784, 707930, 721072, 734218, 747363, 760506, 773653]
    hit1 = 1


class 技能23(被动技能):
    名称 = '龙血誓约'
    所在等级 = 95
    等级上限 = 50
    学习间隔 = 3
    等级精通 = 40

    关联技能 = ['所有']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.18 + 0.02 * self.等级, 5)


class 技能24(主动技能):
    名称 = "龙神君临·虚空烬灭"
    所在等级 = 100
    等级上限 = 50
    学习间隔 = 5
    等级精通 = 40
    CD = 290
    MP = [4027, 8055]
    无色消耗 = 15
    data0 = [0, 71698, 88325, 104951, 121576, 138203, 154829, 171456, 188079, 204706, 221332, 237958, 254585, 271211, 287838, 304460, 321089, 337714, 354342, 370964, 387590, 404220, 420843, 437469, 454095, 470722, 487348, 503973, 520599, 537226, 553853, 570477, 587105, 603729, 620356, 636980, 653608, 670234, 686860, 703485, 720111, 736738, 753361, 769988, 786613, 803240, 819865, 836492, 853119, 869745, 886371]
    hit0 = 1
    data1 = [0, 35850, 44161, 52474, 60790, 69100, 77412, 85727, 94039, 102352, 110665, 118978, 127292, 135604, 143918, 152231, 160544, 168856, 177170, 185483, 193796, 202110, 210422, 218736, 227046, 235359, 243673, 251985, 260299, 268612, 276924, 285238, 293551, 301864, 310177, 318489, 326804, 335116, 343429, 351743, 360056, 368368, 376681, 384995, 393307, 401621, 409932, 418248, 426559, 434870, 443187]
    hit1 = 8
    data2 = [0, 215098, 264975, 314854, 364731, 414609, 464487, 514365, 564244, 614122, 663997, 713875, 763755, 813631, 863510, 913388, 963267, 1013145, 1063022, 1112898, 1162778, 1212656, 1262533, 1312411, 1362290, 1412166, 1462045, 1511923, 1561799, 1611678, 1661557, 1711433, 1761312, 1811189, 1861068, 1910946, 1960825, 2010700, 2060580, 2110458, 2160334, 2210212, 2260092, 2309969, 2359846, 2409724, 2459602, 2509480, 2559358, 2609236, 2659114]
    hit2 = 1
    data3 = [0, 35850, 44161, 52474, 60790, 69100, 77412, 85727, 94039, 102352, 110665, 118978, 127292, 135604, 143918, 152231, 160544, 168856, 177170, 185483, 193796, 202110, 210422, 218736, 227046, 235359, 243673, 251985, 260299, 268612, 276924, 285238, 293551, 301864, 310177, 318489, 326804, 335116, 343429, 351743, 360056, 368368, 376681, 384995, 393307, 401621, 409932, 418248, 426559, 434870, 443187]
    hit3 = 4


class classChange(Character):
    def __init__(self, equVersion=""):
        self.实际名称 = 'dragon_knight'
        self.名称 = '皓曦·龙骑士'
        self.角色 = '守护者'
        self.角色类型 = '输出'
        self.职业 = '龙骑士'
        # 用来筛CP武器的
        self.转职 = '龙骑士'
        self.武器选项 = ['太刀', '钝器', '巨剑', '短剑']
        self.输出类型选项 = ['物理固伤']
        self.防具精通属性 = ['力量']
        self.类型 = '物理固伤'
        self.武器类型 = '太刀'
        self.防具类型 = '轻甲'
        技能列表 = []
        技能序号 = {}
        i = 0
        while i >= 0:
            try:
                tem = eval('技能'+str(i)+'()')
                tem.基础等级计算()
                技能序号[tem.名称] = i
                技能列表.append(tem)
                i += 1
            except:
                i = -1
        self.技能栏 = 技能列表
        self.技能序号 = 技能序号
        self.buff = 1.850

        super().__init__(equVersion)
